﻿#region << 版 本 注 释 >>

/*----------------------------------------------------------------
* 类 名 称 ：Component
* 类 描 述 ：
* 作    者 ：henrychang
* 创建时间 ：2019/1/27 12:29:58
*******************************************************************
* Copyright @ henrychang 2019. All rights reserved.
*******************************************************************
//----------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

using TouchFish.Actor;
using TouchFish.Event;

namespace TouchFish.Component
{
    public class Component : IComponent, IEventHandler
    {
        public string Name
        {
            get;

            set;
        }

        public Component(string name)
        {
            Name = name;
        }

        public IActor Actor { get; set; }

        public virtual void InitAdd()
        {
            SubscribeEvents();
        }

        public virtual void UpdateExecute()
        {
        }

        public virtual void FixedExecute()
        {
        }

        public virtual void LateExecute()
        {
        }

        public virtual void SubscribeEvents()
        {
        }

        public virtual void UnsubscribeEvents()
        {
        }

        public virtual void Dispose()
        {
            UnsubscribeEvents();
        }
    }
}